約 4,436,193 件
https://w.atwiki.jp/bambooflow/pages/60.html
プロシージャ procとreturnの使用 procはC言語の関数のようなもので、同じようにreturnによって値を返す。 procで定義したaddは2つの引数を足し算する。 C言語しかわからない私は、addを使用する側の"[ ]"がなんか慣れない。 プログラム proc1.tcl #!/bin/sh # \ exec tclsh "$0" "$@" proc add { x y } { return [ expr $x+$y ] } set a 10 set b 15 set ans1 [ add $a $b ] set ans2 [ add 53 23 ] puts $ans1 puts $ans2 exit 実行 $ ./proc1.tcl 25 76 procとupvarの使用 upvarはC言語でよく使用する引数にアドレスを渡すやりかたやC++の参照渡しような感じに似ている気がする。 どうやらmultの第1引数のansを固定してそこへ値を返すようにしている。 プログラム proc2.tcl #!/bin/sh # \ exec tclsh "$0" "$@" proc mult { ans x y } { upvar $ans result set result [ expr $x * $y ] } mult ret 5 3 puts $ret exit 実行 $ ./proc2.tcl 15
https://w.atwiki.jp/worktip/pages/11.html
プロセスの動作状態を調べる方法 あるネットワーク系のプロセスにて、acceptで0が返ってくるという問題があり、その調査の過程で/procの下にディスクリプタの情報が書込まれているということを聞きました。 /proc/[プロセス番号]/fd以下にディスクリプタがリンクで存在する。 # cd /proc/333/fd # ls -l total 4 lr-x------ 1 root root 64 Dec 31 19 16 0 - /dev/null lrwx------ 1 root root 64 Dec 31 19 16 1 - /dev/ttySC0 lrwx------ 1 root root 64 Dec 31 19 16 2 - /dev/ttySC0 lrwx------ 1 root root 64 Dec 31 19 16 3 - socket [1156] という具合。 ポート番号まで表示される!と感動したものです。 名前 コメント
https://w.atwiki.jp/mixmusic/pages/26.html
SQL □■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■ ■DML[Data Manipulation Language](データ操作文) |□SELECT(データの検索) || |□ISNERT(行の新規挿入) || |□UPDATE(値の更新) || |□DELETE(行の削除) || |□MERGE(行のマージ) || ■DDL[Data Definition Language](データ定義文) |□CREATE(オブジェクトの作成) || |□ALTER(オブジェクトの変更) || |□DROP(オブジェクトの削除) || |□RENAME(オブジェクト名の変更) || |□TRUNCATE(表の切捨て) || ■DCL[Data Control Language](データ制御文) |□GRANT(権限の付与) || |□REVOKE(権限の削除) || ■トランザクション制御 |□COMMIT;(更新の確定) |□ROLLBACK;(更新の取消) |□SAVEPOINT 名;(セーブポイントの設定) □■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■ ■RECYCLEBIN(リサイクルビン |10gからのごみ箱機能 |□ごみ箱削除(ユーザー) ||PURGE USER_RECYCLEBIN; |□ごみ箱削除(全体) ||PURGE RECYCLEBIN; |□ごみ箱参照 ||SHOW RECYCLEBIN; □■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■
https://w.atwiki.jp/kurowal/pages/28.html
SQL関連のブックマーク SQL覚え書き接続関連 SQL文関連 ダンプ関連 UNDO関連 仕様文字コード関連 SQL関連のブックマーク SQL -TECHSCORE- SQLの基本操作を調べれる SHIFT the Oracle Oracle関数を調べれる Oracle エラー Oracoleのエラーコードから原因と対策を調べられる DB接続エラー DB接続エラー時の対処方法、原因切り分けを説明 SQL覚え書き 接続関連 研究室内データベース接続 psql -U dbuser -h a2 Bugzilla -U ユーザ -h ホスト名 テーブルを見る \d この後にテーブル名を書くと列名が見れる SQL文関連 LIKE演算子 列名 LIKE パターン (_)アンダースコア・・・1文字に該当 (%)パーセント・・・0文字を含む任意文字列 同値削除 SELECT DISTINCT(列名) 列名内で同じものが出て来ると一つしか表示しない 該当行数 SELECT COUNT(列名) WHERE後に書いた条件に合う行数が出力される 昇順に並べ替え ORDER BY 列名 ASC(DESC) 他テーブルの同じ名前の列の値を同じ値のは1つずつ表示 select user_id from tb_st_coop_log union select user_id from tb_st_coop_control order by user_id(ソートは全体にかかる) カタカナ&英字全角→半角処理(Oracle) UTL_I18N.TRANSLITERATE(TO_SINGLE_BYTE(列名), FWKATAKANA_HWKATAKANA ) ダンプ関連 エクスポート(ユーザ下全エクスポート) exp ユーザ名/パスワード file=出力ファイル名 owner=ユーザ名 インポート(ユーザ下全インポート) imp ユーザ名/パスワード file=入力ファイル名 ignore=y full=y ignore・オブジェクト存在時上書き full・ダンプファイル全体 ※注意 インポート前にインポートするテーブルが既に存在する場合は 内容は上書きされないので、上書きしたい場合は事前にtruncate tableしておく dump取得(オブジェクトブラウザの場合) テーブルを選択し、エクスポート(インデックス等も出力する場合はオプションで選択) 移動先に同テーブル名がある場合はドロップ(バックアップテーブル取得をお勧め) 管理→インポート(ユーザ名・テーブル名入力) データパンプのエクスポート expdp スキーマ/パスワード directory=ディレクトリオブジェクト tables=スキーマ.テーブル file=出力ファイル query=\"where 条件文 \" CONTENT=data_only データパンプのインポート impdp スキーマ/パスワード directory=ディレクトリオブジェクト dumpfile=ダンプファイル tables=スキーマ.テーブル logfile=EXPDP.LOG content=data_only テーブル単位、データのみインポート UNDO関連 UNDO使用率確認用 select 1使用率 as UNDO使用状態 ,round( ( ( UNDO容量KB - ( sum(bytes) / 1024 ) ) / UNDO容量KB) * 100, 2) as bytes from dba_free_space where tablespace_name = UNDOTBS1 union select 2アクティブ ,round((sum(bytes) / 1024 / UNDO容量KB) * 100, 2) as bytes from dba_undo_extents where tablespace_name = UNDOTBS1 and status in ( ACTIVE ) union select 3UNEX ,round((sum(bytes) / 1024 / UNDO容量KB) * 100, 2) as bytes from dba_undo_extents where tablespace_name = UNDOTBS1 and status in ( UNEXPIRED ) union select 4EX準備中 ,round((sum(bytes) / 1024 / UNDO容量KB) * 100, 2) as bytes from dba_undo_extents where tablespace_name = UNDOTBS1 and status in ( EXPIRED ) UNDO使用率確認用 select status, sum(bytes/1024/1024) as Mbytes from dba_undo_extents where tablespace_name = UNDOTBS1 group by status union select FREE ,sum(bytes/1024/1024) as Mbytes from dba_free_space where tablespace_name = UNDOTBS1 FREE 空き領域 EXPIRED 使用可能 ACTIVE UNEXPIRED 使用中 アーカイブ領域確認用 select name,type,state,total_mb,free_mb from sys.V_$ASM_DISKGROUP 仕様文字コード関連 仕様文字コード確認用 SELECT NLS_CHARSET_NAME(NLS_CHARSET_ID( CHAR_CS )), NLS_CHARSET_NAME(NLS_CHARSET_ID( NCHAR_CS )) FROM DUAL SHIFT the Oracle マルチバイト oracleでの文字コードを調べれる
https://w.atwiki.jp/program_language/pages/17.html
SQL
https://w.atwiki.jp/kurimaru/pages/9.html
SQL 標準と各RDBの対応状況 SQL標準規格 http //ja.wikipedia.org/wiki/SQL#.E6.A8.99.E6.BA.96SQL.E8.A6.8F.E6.A0.BC SQL99 http //www.akimoto-jp.com/java/Database/jdbcSQL99.html MySQL 5.2 未 MySQL 5.1 Our aim is to support the full ANSI/ISO SQL standard, but without making concessions to speed and quality of the code. ODBC levels 0-3.51. http //dev.mysql.com/doc/refman/5.1/en/standards.html MySQL 5.0 Our aim is to support the full ANSI/ISO SQL standard, but without making concessions to speed and quality of the code. ODBC levels 0-3.51. http //dev.mysql.com/doc/refman/5.0/en/standards.html MySQL 4.1 ANSI SQL 標準(SQL-92/SQL-99)および ODBC SQL 標準に準拠することを目標。 http //dev.mysql.com/doc/refman/4.1/ja/differences-from-ansi.html PostgreSQL ドキュメント http //www.postgresql.jp/document/ PostgreSQL 8.0.0 以降 標準SQL ISO/IEC 9075 "Database Language SQL" の最新の公式バージョンに準拠させようとしています。 最新バージョンはISO/IEC 9075 2003、もしくは単にSQL 2003と呼ばれています。 この1つ前のバージョンはSQL 1999とSQL-92。 http //www.postgresql.jp/document/pg821doc/html/features.html PostgreSQL 7.4.1 以降 標準SQL ISO/IEC 9075 "Database Language SQL" の最新の公式バージョンに準拠させようとしています。 最新バージョンはISO/IEC 9075 1999、もしくは非公式に SQL99 と呼ばれています。 この1つ前のバージョンはSQL92。 http //www.postgresql.jp/document/pg821doc/html/features.html Oracle 10g http //otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/appdev.102/B19257-01.pdf
https://w.atwiki.jp/sas_help/pages/11.html
tabulateここはSASの基礎をまとめたページです。 FREQプロシジャ MEANSプロシジャ TABURATEプロシジャ
https://w.atwiki.jp/yaezakura/pages/14.html
基本 「Customersテーブルから、CustomerID、CompanyNameを取得しなさい」 SELECT CustomerID, CompanyName FROM Customers SELECTは、データの取得をするためのSQL命令 CustomerID、CompanyNameは、それぞれ列の名前を指定します複数の列を指定するときは、「,」で区切り SELECTとカラムの列の部分を、SELECT句、もしくは、SELECT文節 FROMは、テーブルの指定。Customersテーブルを指定している WHERE句の使い方 SQLによるデータの取得では、欲しい情報の条件を指定することが出来ます SELECT CustomerID, CompanyName, City FROM Customers WHERE City = London City列が London の行のみを取得するように指定しています WHERE句には、複数の条件を指定することも可能 SELECT * FROM Orders WHERE CustomerID = QUICK AND OrderDate 1998/1/1 Ordersテーブルから、CustomerIDが QUICK で、かつ、OrderDateが1998年以降のものを取得 BETWEEN条件 SELECT * FROM Orders WHERE CustomerID = QUICK AND OrderDate BETWEEN 1996/1/1 AND 1997/12/31 値が指定した2つの値の間にあるか否かを比較します。 Ordersテーブルから、OrderDateが1996/1/1から1997/12/31であるものを取得します。 IN条件 SELECT * FROM Orders WHERE CustomerID IN ( QUICK , VINET ) 値が指定した値のリストの中にあるかを比較します。 OrdersテーブルからCustomerIDが QUICK か VINET であるものを取得します。 LIKE条件 SELECT * FROM Orders WHERE CustomerID LIKE Q% 文字の検索条件を指定します。 %は「任意の文字数の任意の文字」、_は「1文字の任意の文字」を表します。 CustomerID LIKE Q% は、CustomerIDがQで始まる文字を指定し、CustomerID LIKE Q_ は、CustomerIDがQで始まる2文字の文字を指定します。 SQL文での集計の方法(GROUP BY) Order Detailsテーブルの指定 SELECT * FROM "Order Details" 製品ごとにいくつ注文があったか、合計を計算してみる SELECT ProductID, Sum(Quantity) FROM "Order Details" GROUP BY ProductID 「GROUP BY」というキーワードに続けて、集計のキーとなる列名を指定します集計のキーは「製品」、すなわち、「ProductID」 「Sum(Quantity)」は、Quantity列の合計を求める集計関数MAX 最大値 MIN 最小値 AVG 平均値 COUNT データの個数複数の集計関数を指定することも可能 SELECT ProductID, Avg(UnitPrice), Sum(Quantity) FROM "Order Details" GROUP BY ProductID 列名の指定「AS」 「AS」句を使用することで、列名の指定をすることが可能 SELECT ProductID AS "製品ID", Sum(Quantity) AS "個数合計" FROM "Order Details" GROUP BY ProductID
https://w.atwiki.jp/nishikita/pages/20.html
SQLの覚書。 Oracle Database 10g Release 2 (10.2) BIN$hogehogeという表は? ごみ箱内の表であり、drop tableすると出てくる。 purge USER_RECYCLEBIN PURGEで消せる。 参考 テーブル定義 - Oracle SQL 入門 SQL文 DROP SEQUENCE〜ROLLBACK
https://w.atwiki.jp/jorky/pages/19.html
******************************** *** DB2 SQL *** ******************************** ■テーブルスペース管理 作成したテーブルスペースやデータファイルの大きさ、そして残り容量は以下のSQL文を実行することにより把握できます。 SQL select * from sys.dba_data_files; SQL select * from sys.dba_free_space; SQL select * from sys.dba_free_space_coalesced; ********************************* ■デッドロック監視 イベントモニター ■LOG出力時のコマンド db2evmon -path /../db/db2dump/events/db2detaildeadlock db2detaildeadlock.log ■db2detaildeadlock作成 db2 "CREATE EVENT MONITOR DETAILDEADLOCK FOR DEADLOCKS WITH DETAILS HISTORY WRITE TO file /../db/db2dump/events/db2detaildeadlock BUFFERSIZE 4 BLOCKED AUTOSTART" SET event monitor DETAILDEADLOCK STATE 1 ■db2detaildeadlock削除 SET event monitor DETAILDEADLOCK STATE 0 DROP event monitor DETAILDEADLOCK ■db2detaildeadlock有効化 db2 "set event monitor db2detaildeadlock state 1" ******************************** ■DB2のスキマー指定した全テーブル一覧作成 (type=V,T) ) select REORG TABLE スキマー. || tabname || ;RUNSTATS ON TABLE スキマー. || tabname || AND DETAILED INDEXES ALL;REORG INDEXES ALL FOR TABLE スキマー. || tabname || ; from syscat.tables where owner = スキマー and type = T *************************************************** ■テーブル再編成 DB2 REORG TABLE スキマー.テーブル DB20000I REORG コマンドが正常に完了しました。 DB2 RUNSTATS ON TABLE スキマー.テーブル AND DETAILED INDEXES ALL DB20000I RUNSTATS コマンドが正常に完了しました。 ■インディクス再編成 DB2 REORG INDEXES ALL FOR TABLE スキマー.テーブル ********************************************** REBIND REORGとRUNSTATSを実行し終わったら、すべてのデータベース・パッケージを再バインドします。これは、データベース・パッケージの静的SQLで最新のシステム統計を利用できるようにするためです。次のようにDB2RBINDを使用して、すべてのデータベース・パッケージを再バインドします。 db2rbind dbname -l logfile.out ALL REORGCHK [CURRENT STATISTICS] [ 再編成対象指定 ] CURRENT STATISTICS 再編成が必要かどうかを現在の統計情報に基づいてチェックします。このオプションを指定しない場合、統計情報の更新を行った上で再編成が必要かどうかをチェックします。 再編成対象指定 再編成が必要かどうかをチェックする対象を以下の形式のいずれかで指定します。 ON TABLE USER 接続しているユーザーが所有している表をチェックします。 ON SCHEMA スキーマ名 指定したスキーマに含まれるすべての表をチェックします。 ON TABLE スキーマ名.表名 指定した表をチェックします。 ON TABLE SYSTEM システムの表をチェックします。 ON TABLE ALL すべてのユーザーおよびシステムの表をチェックします。 db2 "REORGCHK ON SCHEMA スキマー" db2 "REORGCHK ON TABLE ALL" REORGCHK_ALL.log **********************************